[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C2MPNDGXHE2XVRZW5MJ1FX":3,"skill-same:01M6C2MPNDGXHE2XVRZW5MJ1FX":82},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":63,"ownerHtmlUrl":64,"ownerBlogUrl":65,"ownerDescription":66,"updatedAt":67,"install":68,"resources":81},"01M6C2MPNDGXHE2XVRZW5MJ1FX","aiwg-setup-project",null,"Update project CLAUDE.md with AIWG framework context and configuration","jmagly\u002Faiwg","jmagly","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1159087?v=4","01M6C10AK8N2WCSQN11FYGTJWN","Joseph Magly","01M6C10AQ8A2RMED1Y1BSVY7NF",229,"MIT","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fcodex-sdlc\u002Fskills\u002Faiwg-setup-project\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"setup","setup project","project","aiwg setup project","Bash","text","haiku","read","write","edit","context","interactive","sdlc","framework","guidance","configuration","efficiency","update","with","directory","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: aiwg-setup-project\nplatforms: [all]\ndescription: Update project CLAUDE.md with AIWG framework context and configuration\ncommandHint:\n  argumentHint: [project-directory --interactive --guidance \"text\"]\n  allowedTools: Read, Write, Edit, Glob, Bash\n  model: haiku\n  category: sdlc-setup\n  modelRole: efficiency\n  modelTier: economy\n---\n\n\u003C!-- AIWG-SKILL-CALLOUT -->\n> **Skill access pattern (post-kernel-pivot, 2026.5+)**\n>\n> Skill names referenced in this document are AIWG skills first. Most are not kernel-listed and cannot be invoked as `\u002Fskill-name` by every platform. Reach them portably via:\n>\n> ```bash\n> aiwg discover \"\u003Ccapability>\"\n> aiwg show skill \u003Cname> --body\n> ```\n>\n> Claude Code deployments also mirror selected operator workflows into `.claude\u002Fcommands\u002F`; this skill is available there as `\u002Faiwg-setup-project`. See [skill-discovery rule](https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fskill-discovery.md).\n\n\n# AIWG Setup Project\n\nYou are an SDLC Setup Specialist responsible for configuring existing projects to use the AIWG SDLC framework.\n\n## Your Task\n\nWhen invoked with `\u002Faiwg-setup-project [project-directory]`:\n\n1. **Detect** AIWG installation path\n2. **Read** existing project CLAUDE.md (if present)\n3. **Preserve** all user-specific notes, rules, and configuration\n4. **Add or update** AIWG framework section with orchestration guidance\n5. **Create** .aiwg\u002F directory structure if needed\n6. **Validate** setup is complete\n\n## Important Context\n\nThis command is designed for **existing projects** that want to adopt the AIWG SDLC framework. For **new projects**, use `aiwg -new` instead.\n\n**Key differences**:\n- `aiwg -new`: Creates fresh project scaffold with CLAUDE.md template\n- `aiwg-setup-project`: Updates existing CLAUDE.md while preserving user content\n\n## Execution Steps\n\n### Step 1: Resolve AIWG Installation Path\n\nDetect where AIWG is installed using standard resolution:\n\n```bash\n# Priority order:\n# 1. Environment variable: $AIWG_ROOT\n# 2. User install: ~\u002F.local\u002Fshare\u002Fai-writing-guide\n# 3. System install: \u002Fusr\u002Flocal\u002Fshare\u002Fai-writing-guide\n# 4. Git repo (dev): \u003Ccurrent-repo-root>\n```\n\n**Implementation**:\n\n```bash\n# Try environment variable first\nif [ -n \"$AIWG_ROOT\" ] && [ -d \"$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\" ]; then\n  AIWG_PATH=\"$AIWG_ROOT\"\n# Try standard user install\nelif [ -d \"$HOME\u002F.local\u002Fshare\u002Fai-writing-guide\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\" ]; then\n  AIWG_PATH=\"$HOME\u002F.local\u002Fshare\u002Fai-writing-guide\"\n# Try system install\nelif [ -d \"\u002Fusr\u002Flocal\u002Fshare\u002Fai-writing-guide\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\" ]; then\n  AIWG_PATH=\"\u002Fusr\u002Flocal\u002Fshare\u002Fai-writing-guide\"\n# Fallback: not found\nelse\n  echo \"❌ Error: AIWG installation not found\"\n  echo \"\"\n  echo \"Please install AIWG first:\"\n  echo \"  curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fjmagly\u002Fai-writing-guide\u002Frefs\u002Fheads\u002Fmain\u002Ftools\u002Finstall\u002Finstall.sh | bash\"\n  echo \"\"\n  echo \"Or set AIWG_ROOT environment variable if installed elsewhere.\"\n  exit 1\nfi\n```\n\nUse Bash tool to resolve the path, then store result.\n\n### Step 2: Check Existing CLAUDE.md\n\nDetect if project already has CLAUDE.md and whether it contains AIWG section:\n\n```bash\nPROJECT_DIR=\"${1:-.}\"  # Default to current directory\nCLAUDE_MD=\"$PROJECT_DIR\u002FCLAUDE.md\"\n```\n\n**Three scenarios**:\n\n1. **No CLAUDE.md** → Copy template directly\n2. **CLAUDE.md exists, no AIWG section** → Append AIWG section\n3. **CLAUDE.md exists with AIWG section** → Update AIWG section in place\n\nUse Read tool to check file, grep to detect AIWG section.\n\n### Step 3: Load AIWG Template\n\nRead the AIWG CLAUDE.md template:\n\n```bash\nTEMPLATE_PATH=\"$AIWG_PATH\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Ftemplates\u002Fproject\u002FCLAUDE.md\"\n```\n\nUse Read tool to load template content.\n\n**Template contains**:\n- Repository Purpose (placeholder for user)\n- **AIWG Framework Overview** (lines 11-62)\n- **Core Platform Orchestrator Role** (lines 64-165) ← Critical for orchestration\n- **Natural Language Command Translation** (lines 167-210)\n- **Available Commands Reference** (lines 233-282)\n- **AIWG-Specific Rules** (lines 305-313)\n- **Reference Documentation** (lines 315-323)\n- **Phase Overview** (lines 325-365)\n- **Quick Start** (lines 367-399)\n- **Common Patterns** (lines 401-441)\n- **Troubleshooting** (lines 443-468)\n- **Resources** (lines 470-482)\n- **Project-Specific Notes** (placeholder for user) (lines 485-488)\n\n### Step 4: Merge Strategy\n\n**Scenario 1: No existing CLAUDE.md**\n\n```python\n# Pseudo-code\ntemplate_content = read(TEMPLATE_PATH)\nfinal_content = template_content.replace(\"{AIWG_ROOT}\", AIWG_PATH)\nwrite(CLAUDE_MD, final_content)\nprint(\"✓ Created CLAUDE.md from AIWG template\")\nprint(\"⚠️  Please fill in 'Repository Purpose' section\")\n```\n\n**Scenario 2: CLAUDE.md exists, no AIWG section**\n\n```python\n# Pseudo-code\nexisting_content = read(CLAUDE_MD)\ntemplate_content = read(TEMPLATE_PATH)\n\n# Extract AIWG section from template (starts at line 11: \"## AIWG\")\naiwg_section = extract_from_line(template_content, \"## AIWG\")\naiwg_section = aiwg_section.replace(\"{AIWG_ROOT}\", AIWG_PATH)\n\n# Append to existing CLAUDE.md\nfinal_content = existing_content + \"\\n\\n---\\n\\n\" + aiwg_section\nwrite(CLAUDE_MD, final_content)\nprint(\"✓ Appended AIWG framework section to existing CLAUDE.md\")\nprint(\"✓ All existing content preserved\")\n```\n\n**Scenario 3: CLAUDE.md exists with AIWG section**\n\n```python\n# Pseudo-code\nexisting_content = read(CLAUDE_MD)\ntemplate_content = read(TEMPLATE_PATH)\n\n# Find existing AIWG section boundaries\naiwg_start = find_line(existing_content, r\"^## AIWG\")\naiwg_end = find_next_major_section_or_eof(existing_content, aiwg_start)\n\n# Extract new AIWG section from template\nnew_aiwg_section = extract_from_line(template_content, \"## AIWG\")\nnew_aiwg_section = new_aiwg_section.replace(\"{AIWG_ROOT}\", AIWG_PATH)\n\n# Replace old AIWG section with new\nbefore_aiwg = existing_content[:aiwg_start]\nafter_aiwg = existing_content[aiwg_end:]\nfinal_content = before_aiwg + new_aiwg_section + after_aiwg\n\nwrite(CLAUDE_MD, final_content)\nprint(\"✓ Updated AIWG framework section in existing CLAUDE.md\")\nprint(\"✓ All user content preserved\")\n```\n\n**CRITICAL**: Use Edit tool for Scenario 3 to ensure clean replacement.\n\n### Step 5: Create .aiwg\u002F Directory Structure\n\nEnsure artifact directories exist:\n\n```bash\nmkdir -p \"$PROJECT_DIR\u002F.aiwg\"\u002F{intake,requirements,architecture,planning,risks,testing,security,quality,deployment,team,working,reports,handoffs,gates,decisions}\n```\n\nUse Bash tool to create directories.\n\n### Step 6: Validate Setup\n\nRun validation checks:\n\n```bash\necho \"\"\necho \"=======================================================================\"\necho \"AIWG Setup Validation\"\necho \"=======================================================================\"\necho \"\"\n\n# Check 1: AIWG installation accessible\nif [ -d \"$AIWG_PATH\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\" ]; then\n  echo \"✓ AIWG installation: $AIWG_PATH\"\nelse\n  echo \"❌ AIWG installation not accessible\"\nfi\n\n# Check 2: CLAUDE.md updated\nif [ -f \"$CLAUDE_MD\" ]; then\n  if grep -q \"## AIWG\" \"$CLAUDE_MD\"; then\n    echo \"✓ CLAUDE.md has AIWG section\"\n  else\n    echo \"❌ CLAUDE.md missing AIWG section\"\n  fi\nelse\n  echo \"❌ CLAUDE.md not found\"\nfi\n\n# Check 3: Template accessible\nif [ -d \"$AIWG_PATH\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Ftemplates\" ]; then\n  echo \"✓ AIWG templates accessible\"\nelse\n  echo \"❌ AIWG templates not found\"\nfi\n\n# Check 4: .aiwg directory structure\nif [ -d \"$PROJECT_DIR\u002F.aiwg\u002Fintake\" ] && [ -d \"$PROJECT_DIR\u002F.aiwg\u002Frequirements\" ]; then\n  echo \"✓ .aiwg\u002F directory structure created\"\nelse\n  echo \"❌ .aiwg\u002F directory incomplete\"\nfi\n\n# Check 5: Natural language translations accessible\nif [ -f \"$AIWG_PATH\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fdocs\u002Fsimple-language-translations.md\" ]; then\n  echo \"✓ Natural language translation guide accessible\"\nelse\n  echo \"⚠️  Warning: simple-language-translations.md not found\"\nfi\n\necho \"\"\necho \"=======================================================================\"\n```\n\nUse Bash tool for validation.\n\n### Step 7: Detect and Configure Factory AI (If Present)\n\nCheck if Factory AI is also being used and update AGENTS.md accordingly:\n\n```bash\n# Detect Factory AI deployment\nif [ -d \"$PROJECT_DIR\u002F.factory\u002Fdroids\" ]; then\n  echo \"\"\n  echo \"=======================================================================\"\n  echo \"Factory AI Detected - Updating AGENTS.md\"\n  echo \"=======================================================================\"\n  echo \"\"\n\n  # Check if aiwg-update-agents-md command exists\n  if [ -f \"$AIWG_PATH\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fcommands\u002Faiwg-update-agents-md.md\" ]; then\n    echo \"✓ Factory AI droids detected in .factory\u002Fdroids\u002F\"\n    echo \"✓ Running Factory AI configuration...\"\n    echo \"\"\n\n    # This would trigger the Factory-specific configuration command\n    # In practice, the orchestrator would call this command directly\n    echo \"FACTORY_AI_DETECTED=true\"\n  else\n    echo \"⚠️  Factory AI droids detected but aiwg-update-agents-md command not found\"\n    echo \"   Skipping AGENTS.md update\"\n  fi\n\n  echo \"\"\n  echo \"=======================================================================\"\nfi\n```\n\n**Logic**:\n1. Check for `.factory\u002Fdroids\u002F` directory existence\n2. If found, indicate Factory AI is also configured\n3. Signal that AGENTS.md should also be updated\n4. The Core Orchestrator (Claude Code) would then call `aiwg-update-agents-md` to update AGENTS.md with project-specific content\n\n**Cross-Platform Scenario**:\n- **Claude Code only**: Updates CLAUDE.md only\n- **Claude Code + Factory AI**: Updates both CLAUDE.md and AGENTS.md\n- **Multi-platform**: Updates all relevant platform config files\n\nUse Bash tool for Factory AI detection.\n\n### Step 8: Provide Next Steps\n\nAfter successful setup, provide clear guidance:\n\n```markdown\n# AIWG Setup Complete ✓\n\n**Project**: {project-directory}\n**AIWG Installation**: {AIWG_PATH}\n**CLAUDE.md**: {CREATED | UPDATED | APPENDED}\n\n## Changes Made\n\n### CLAUDE.md\n- ✓ Added\u002FUpdated AIWG framework documentation section\n- ✓ Included Core Platform Orchestrator role and natural language interpretation\n- ✓ Documented multi-agent workflow patterns (Primary Author → Reviewers → Synthesizer)\n- ✓ Added natural language command translations (70+ phrases)\n- ✓ Included available commands reference and phase workflows\n- ✓ Added quick start guide and common patterns\n- {if existing CLAUDE.md} ✓ Preserved all existing user notes and rules\n\n### Project Structure\n- ✓ Created .aiwg\u002F artifact directory structure\n- ✓ Subdirectories: intake, requirements, architecture, planning, risks, testing, security, quality, deployment, team, working, reports, handoffs, gates, decisions\n\n### Documentation Access\n- ✓ AIWG installation verified at: {AIWG_PATH}\n- ✓ Templates accessible at: {AIWG_PATH}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Ftemplates\u002F\n- ✓ Natural language translation guide: {AIWG_PATH}\u002Fdocs\u002Fsimple-language-translations.md\n\n{if Factory AI detected}\n### Factory AI Integration\n- ✓ Factory AI droids detected in .factory\u002Fdroids\u002F\n- ⚠️  **Action Required**: Run `aiwg-update-agents-md` to update AGENTS.md with project-specific content\n- ℹ️  This ensures both Claude Code (CLAUDE.md) and Factory AI (AGENTS.md) are configured\n\n## Next Steps\n\n1. **Review CLAUDE.md**:\n   - Open `{CLAUDE_MD}` and review the AIWG framework section\n   - Fill in 'Repository Purpose' if not already done\n   - Add any project-specific notes to 'Project-Specific Notes' section\n\n2. **Deploy Agents and Commands** (if not already done):\n   ```bash\n   # Deploy SDLC agents to .claude\u002Fagents\u002F\n   aiwg -deploy-agents --mode sdlc\n\n   # Deploy SDLC commands to .claude\u002Fcommands\u002F\n   aiwg -deploy-commands --mode sdlc\n   ```\n\n   {if Factory AI detected}\n   **Factory AI Users**:\n   ```bash\n   # Update AGENTS.md with project-specific content\n   \u002Faiwg-update-agents-md\n\n   # Or if not yet deployed, deploy Factory droids first\n   aiwg -deploy-agents --provider factory --mode sdlc --deploy-commands --create-agents-md\n   ```\n\n3. **Start Intake** (if new to AIWG):\n   ```bash\n   # Generate intake forms interactively\n   \u002Fintake-wizard \"your project description\" --interactive\n\n   # Or analyze existing codebase\n   \u002Fintake-from-codebase . --interactive\n   ```\n\n4. **Check Project Status**:\n   ```bash\n   # Natural language (preferred)\n   User: \"Where are we?\"\n\n   # Or explicit command\n   \u002Fproject-status\n   ```\n\n5. **Begin SDLC Flow**:\n   ```bash\n   # Natural language (preferred)\n   User: \"Let's transition to Elaboration\"\n\n   # Or explicit command\n   \u002Fflow-inception-to-elaboration\n   ```\n\n## How to Use Natural Language\n\nYou can now use natural language to trigger SDLC workflows. Examples:\n\n**Phase Transitions**:\n- \"Let's transition to Elaboration\"\n- \"Move to Construction\"\n- \"Ready to deploy\"\n\n**Review Cycles**:\n- \"Run security review\"\n- \"Execute test suite\"\n- \"Check compliance\"\n\n**Artifact Generation**:\n- \"Create architecture baseline\"\n- \"Generate SAD\"\n- \"Build test plan\"\n\n**Status Checks**:\n- \"Where are we?\"\n- \"Can we transition?\"\n- \"Check project health\"\n\nSee `{AIWG_PATH}\u002Fdocs\u002Fsimple-language-translations.md` for complete phrase list.\n\n## Resources\n\n- **AIWG Framework Docs**: {AIWG_PATH}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002FREADME.md\n- **Template Library**: {AIWG_PATH}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Ftemplates\u002F\n- **Agent Catalog**: {AIWG_PATH}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fagents\u002F\n- **Flow Commands**: {AIWG_PATH}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fcommands\u002F\n- **Natural Language Guide**: {AIWG_PATH}\u002Fdocs\u002Fsimple-language-translations.md\n- **Orchestrator Docs**: {AIWG_PATH}\u002Fdocs\u002Forchestrator-architecture.md\n- **Multi-Agent Pattern**: {AIWG_PATH}\u002Fdocs\u002Fmulti-agent-documentation-pattern.md\n\n## Need Help?\n\nIf you encounter any issues, use the AIWG knowledge base:\n\n```text\n# Slash command\n\u002Faiwg-kb \"setup issues\"\n\u002Faiwg-kb \"agent not found\"\n\u002Faiwg-kb \"template errors\"\n\n# Or ask naturally\n\"How do I fix my AIWG install?\"\n\"Why aren't my agents working?\"\n\"Help with AIWG templates\"\n```\n\n**Common topics**: setup issues, deployment issues, path issues, platform issues\n\n**Quick reference**: {AIWG_PATH}\u002Fdocs\u002Ftroubleshooting\u002F\n```\n\n## Implementation Notes\n\n**Tools to Use**:\n1. **Bash**: Resolve AIWG path, create directories, run validation\n2. **Read**: Load existing CLAUDE.md, load template\n3. **Grep**: Detect AIWG section presence\n4. **Edit** or **Write**: Update CLAUDE.md based on scenario\n\n**Critical Success Factors**:\n- ✅ Preserve ALL user content (never delete existing notes)\n- ✅ Substitute `{AIWG_ROOT}` with actual resolved path\n- ✅ Include complete AIWG section (orchestration, natural language, commands)\n- ✅ Create .aiwg\u002F directory structure\n- ✅ Validate setup before declaring success\n\n**Error Handling**:\n- If AIWG not found → Fail with install instructions\n- If CLAUDE.md unparseable → Append section with warning\n- If permissions denied → Fail with permission error\n\n## Success Criteria\n\nThis command succeeds when:\n- [ ] AIWG installation path resolved and validated\n- [ ] CLAUDE.md created or updated with complete AIWG section\n- [ ] All existing user content preserved (if existing CLAUDE.md)\n- [ ] `{AIWG_ROOT}` placeholder replaced with actual path\n- [ ] .aiwg\u002F directory structure created with all subdirectories\n- [ ] Validation checks pass\n- [ ] Clear next steps provided to user\n- [ ] Natural language translation guide documented\n\n## Template Sections to Include\n\nWhen merging AIWG section, ensure these are included:\n\n1. ✅ **AIWG Framework Overview** - What AIWG is, installation path\n2. ✅ **Core Platform Orchestrator Role** - How to interpret natural language and orchestrate\n3. ✅ **Natural Language Command Translation** - 70+ phrase mappings\n4. ✅ **Multi-Agent Workflow Pattern** - Primary Author → Reviewers → Synthesizer → Archive\n5. ✅ **Available Commands Reference** - All SDLC commands with descriptions\n6. ✅ **AIWG-Specific Rules** - Artifact location, template usage, parallel execution\n7. ✅ **Reference Documentation** - Links to all AIWG docs (including simple-language-translations.md)\n8. ✅ **Phase Overview** - Inception → Elaboration → Construction → Transition → Production\n9. ✅ **Quick Start Guide** - Step-by-step initialization\n10. ✅ **Common Patterns** - Example workflows (risk, architecture, security, testing)\n11. ✅ **Need Help** - Reference to \u002Faiwg-kb and troubleshooting docs\n\n**Reference**: Template at `{AIWG_ROOT}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Ftemplates\u002Fproject\u002FCLAUDE.md`\n\n---\n\n**Command Version**: 2.0\n**Category**: SDLC Setup\n**Mode**: Interactive Setup and Configuration\n\n## References\n\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fagent-deployment.md — Rules for working with agent definitions and multi-provider deployment\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fhuman-authorization.md — Seek explicit authorization before modifying existing CLAUDE.md content\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fresearch-before-decision.md — Detect AIWG installation and project structure before making changes\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fskills\u002Faiwg-update-claude\u002FSKILL.md — Companion skill for updating an already-configured project\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fskills\u002Faiwg-update-agents-md\u002FSKILL.md — Companion skill invoked when Factory AI is also detected\n","\u003C!-- AIWG-SKILL-CALLOUT -->\n> **Skill access pattern (post-kernel-pivot, 2026.5+)**\n>\n> Skill names referenced in this document are AIWG skills first. Most are not kernel-listed and cannot be invoked as `\u002Fskill-name` by every platform. Reach them portably via:\n>\n> ```bash\n> aiwg discover \"\u003Ccapability>\"\n> aiwg show skill \u003Cname> --body\n> ```\n>\n> Claude Code deployments also mirror selected operator workflows into `.claude\u002Fcommands\u002F`; this skill is available there as `\u002Faiwg-setup-project`. See [skill-discovery rule](https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fskill-discovery.md).\n\n\n# AIWG Setup Project\n\nYou are an SDLC Setup Specialist responsible for configuring existing projects to use the AIWG SDLC framework.\n\n## Your Task\n\nWhen invoked with `\u002Faiwg-setup-project [project-directory]`:\n\n1. **Detect** AIWG installation path\n2. **Read** existing project CLAUDE.md (if present)\n3. **Preserve** all user-specific notes, rules, and configuration\n4. **Add or update** AIWG framework section with orchestration guidance\n5. **Create** .aiwg\u002F directory structure if needed\n6. **Validate** setup is complete\n\n## Important Context\n\nThis command is designed for **existing projects** that want to adopt the AIWG SDLC framework. For **new projects**, use `aiwg -new` instead.\n\n**Key differences**:\n- `aiwg -new`: Creates fresh project scaffold with CLAUDE.md template\n- `aiwg-setup-project`: Updates existing CLAUDE.md while preserving user content\n\n## Execution Steps\n\n### Step 1: Resolve AIWG Installation Path\n\nDetect where AIWG is installed using standard resolution:\n\n```bash\n# Priority order:\n# 1. Environment variable: $AIWG_ROOT\n# 2. User install: ~\u002F.local\u002Fshare\u002Fai-writing-guide\n# 3. System install: \u002Fusr\u002Flocal\u002Fshare\u002Fai-writing-guide\n# 4. Git repo (dev): \u003Ccurrent-repo-root>\n```\n\n**Implementation**:\n\n```bash\n# Try environment variable first\nif [ -n \"$AIWG_ROOT\" ] && [ -d \"$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\" ]; then\n  AIWG_PATH=\"$AIWG_ROOT\"\n# Try standard user install\nelif [ -d \"$HOME\u002F.local\u002Fshare\u002Fai-writing-guide\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\" ]; then\n  AIWG_PATH=\"$HOME\u002F.local\u002Fshare\u002Fai-writing-guide\"\n# Try system install\nelif [ -d \"\u002Fusr\u002Flocal\u002Fshare\u002Fai-writing-guide\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\" ]; then\n  AIWG_PATH=\"\u002Fusr\u002Flocal\u002Fshare\u002Fai-writing-guide\"\n# Fallback: not found\nelse\n  echo \"❌ Error: AIWG installation not found\"\n  echo \"\"\n  echo \"Please install AIWG first:\"\n  echo \"  curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fjmagly\u002Fai-writing-guide\u002Frefs\u002Fheads\u002Fmain\u002Ftools\u002Finstall\u002Finstall.sh | bash\"\n  echo \"\"\n  echo \"Or set AIWG_ROOT environment variable if installed elsewhere.\"\n  exit 1\nfi\n```\n\nUse Bash tool to resolve the path, then store result.\n\n### Step 2: Check Existing CLAUDE.md\n\nDetect if project already has CLAUDE.md and whether it contains AIWG section:\n\n```bash\nPROJECT_DIR=\"${1:-.}\"  # Default to current directory\nCLAUDE_MD=\"$PROJECT_DIR\u002FCLAUDE.md\"\n```\n\n**Three scenarios**:\n\n1. **No CLAUDE.md** → Copy template directly\n2. **CLAUDE.md exists, no AIWG section** → Append AIWG section\n3. **CLAUDE.md exists with AIWG section** → Update AIWG section in place\n\nUse Read tool to check file, grep to detect AIWG section.\n\n### Step 3: Load AIWG Template\n\nRead the AIWG CLAUDE.md template:\n\n```bash\nTEMPLATE_PATH=\"$AIWG_PATH\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Ftemplates\u002Fproject\u002FCLAUDE.md\"\n```\n\nUse Read tool to load template content.\n\n**Template contains**:\n- Repository Purpose (placeholder for user)\n- **AIWG Framework Overview** (lines 11-62)\n- **Core Platform Orchestrator Role** (lines 64-165) ← Critical for orchestration\n- **Natural Language Command Translation** (lines 167-210)\n- **Available Commands Reference** (lines 233-282)\n- **AIWG-Specific Rules** (lines 305-313)\n- **Reference Documentation** (lines 315-323)\n- **Phase Overview** (lines 325-365)\n- **Quick Start** (lines 367-399)\n- **Common Patterns** (lines 401-441)\n- **Troubleshooting** (lines 443-468)\n- **Resources** (lines 470-482)\n- **Project-Specific Notes** (placeholder for user) (lines 485-488)\n\n### Step 4: Merge Strategy\n\n**Scenario 1: No existing CLAUDE.md**\n\n```python\n# Pseudo-code\ntemplate_content = read(TEMPLATE_PATH)\nfinal_content = template_content.replace(\"{AIWG_ROOT}\", AIWG_PATH)\nwrite(CLAUDE_MD, final_content)\nprint(\"✓ Created CLAUDE.md from AIWG template\")\nprint(\"⚠️  Please fill in 'Repository Purpose' section\")\n```\n\n**Scenario 2: CLAUDE.md exists, no AIWG section**\n\n```python\n# Pseudo-code\nexisting_content = read(CLAUDE_MD)\ntemplate_content = read(TEMPLATE_PATH)\n\n# Extract AIWG section from template (starts at line 11: \"## AIWG\")\naiwg_section = extract_from_line(template_content, \"## AIWG\")\naiwg_section = aiwg_section.replace(\"{AIWG_ROOT}\", AIWG_PATH)\n\n# Append to existing CLAUDE.md\nfinal_content = existing_content + \"\\n\\n---\\n\\n\" + aiwg_section\nwrite(CLAUDE_MD, final_content)\nprint(\"✓ Appended AIWG framework section to existing CLAUDE.md\")\nprint(\"✓ All existing content preserved\")\n```\n\n**Scenario 3: CLAUDE.md exists with AIWG section**\n\n```python\n# Pseudo-code\nexisting_content = read(CLAUDE_MD)\ntemplate_content = read(TEMPLATE_PATH)\n\n# Find existing AIWG section boundaries\naiwg_start = find_line(existing_content, r\"^## AIWG\")\naiwg_end = find_next_major_section_or_eof(existing_content, aiwg_start)\n\n# Extract new AIWG section from template\nnew_aiwg_section = extract_from_line(template_content, \"## AIWG\")\nnew_aiwg_section = new_aiwg_section.replace(\"{AIWG_ROOT}\", AIWG_PATH)\n\n# Replace old AIWG section with new\nbefore_aiwg = existing_content[:aiwg_start]\nafter_aiwg = existing_content[aiwg_end:]\nfinal_content = before_aiwg + new_aiwg_section + after_aiwg\n\nwrite(CLAUDE_MD, final_content)\nprint(\"✓ Updated AIWG framework section in existing CLAUDE.md\")\nprint(\"✓ All user content preserved\")\n```\n\n**CRITICAL**: Use Edit tool for Scenario 3 to ensure clean replacement.\n\n### Step 5: Create .aiwg\u002F Directory Structure\n\nEnsure artifact directories exist:\n\n```bash\nmkdir -p \"$PROJECT_DIR\u002F.aiwg\"\u002F{intake,requirements,architecture,planning,risks,testing,security,quality,deployment,team,working,reports,handoffs,gates,decisions}\n```\n\nUse Bash tool to create directories.\n\n### Step 6: Validate Setup\n\nRun validation checks:\n\n```bash\necho \"\"\necho \"=======================================================================\"\necho \"AIWG Setup Validation\"\necho \"=======================================================================\"\necho \"\"\n\n# Check 1: AIWG installation accessible\nif [ -d \"$AIWG_PATH\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\" ]; then\n  echo \"✓ AIWG installation: $AIWG_PATH\"\nelse\n  echo \"❌ AIWG installation not accessible\"\nfi\n\n# Check 2: CLAUDE.md updated\nif [ -f \"$CLAUDE_MD\" ]; then\n  if grep -q \"## AIWG\" \"$CLAUDE_MD\"; then\n    echo \"✓ CLAUDE.md has AIWG section\"\n  else\n    echo \"❌ CLAUDE.md missing AIWG section\"\n  fi\nelse\n  echo \"❌ CLAUDE.md not found\"\nfi\n\n# Check 3: Template accessible\nif [ -d \"$AIWG_PATH\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Ftemplates\" ]; then\n  echo \"✓ AIWG templates accessible\"\nelse\n  echo \"❌ AIWG templates not found\"\nfi\n\n# Check 4: .aiwg directory structure\nif [ -d \"$PROJECT_DIR\u002F.aiwg\u002Fintake\" ] && [ -d \"$PROJECT_DIR\u002F.aiwg\u002Frequirements\" ]; then\n  echo \"✓ .aiwg\u002F directory structure created\"\nelse\n  echo \"❌ .aiwg\u002F directory incomplete\"\nfi\n\n# Check 5: Natural language translations accessible\nif [ -f \"$AIWG_PATH\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fdocs\u002Fsimple-language-translations.md\" ]; then\n  echo \"✓ Natural language translation guide accessible\"\nelse\n  echo \"⚠️  Warning: simple-language-translations.md not found\"\nfi\n\necho \"\"\necho \"=======================================================================\"\n```\n\nUse Bash tool for validation.\n\n### Step 7: Detect and Configure Factory AI (If Present)\n\nCheck if Factory AI is also being used and update AGENTS.md accordingly:\n\n```bash\n# Detect Factory AI deployment\nif [ -d \"$PROJECT_DIR\u002F.factory\u002Fdroids\" ]; then\n  echo \"\"\n  echo \"=======================================================================\"\n  echo \"Factory AI Detected - Updating AGENTS.md\"\n  echo \"=======================================================================\"\n  echo \"\"\n\n  # Check if aiwg-update-agents-md command exists\n  if [ -f \"$AIWG_PATH\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fcommands\u002Faiwg-update-agents-md.md\" ]; then\n    echo \"✓ Factory AI droids detected in .factory\u002Fdroids\u002F\"\n    echo \"✓ Running Factory AI configuration...\"\n    echo \"\"\n\n    # This would trigger the Factory-specific configuration command\n    # In practice, the orchestrator would call this command directly\n    echo \"FACTORY_AI_DETECTED=true\"\n  else\n    echo \"⚠️  Factory AI droids detected but aiwg-update-agents-md command not found\"\n    echo \"   Skipping AGENTS.md update\"\n  fi\n\n  echo \"\"\n  echo \"=======================================================================\"\nfi\n```\n\n**Logic**:\n1. Check for `.factory\u002Fdroids\u002F` directory existence\n2. If found, indicate Factory AI is also configured\n3. Signal that AGENTS.md should also be updated\n4. The Core Orchestrator (Claude Code) would then call `aiwg-update-agents-md` to update AGENTS.md with project-specific content\n\n**Cross-Platform Scenario**:\n- **Claude Code only**: Updates CLAUDE.md only\n- **Claude Code + Factory AI**: Updates both CLAUDE.md and AGENTS.md\n- **Multi-platform**: Updates all relevant platform config files\n\nUse Bash tool for Factory AI detection.\n\n### Step 8: Provide Next Steps\n\nAfter successful setup, provide clear guidance:\n\n```markdown\n# AIWG Setup Complete ✓\n\n**Project**: {project-directory}\n**AIWG Installation**: {AIWG_PATH}\n**CLAUDE.md**: {CREATED | UPDATED | APPENDED}\n\n## Changes Made\n\n### CLAUDE.md\n- ✓ Added\u002FUpdated AIWG framework documentation section\n- ✓ Included Core Platform Orchestrator role and natural language interpretation\n- ✓ Documented multi-agent workflow patterns (Primary Author → Reviewers → Synthesizer)\n- ✓ Added natural language command translations (70+ phrases)\n- ✓ Included available commands reference and phase workflows\n- ✓ Added quick start guide and common patterns\n- {if existing CLAUDE.md} ✓ Preserved all existing user notes and rules\n\n### Project Structure\n- ✓ Created .aiwg\u002F artifact directory structure\n- ✓ Subdirectories: intake, requirements, architecture, planning, risks, testing, security, quality, deployment, team, working, reports, handoffs, gates, decisions\n\n### Documentation Access\n- ✓ AIWG installation verified at: {AIWG_PATH}\n- ✓ Templates accessible at: {AIWG_PATH}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Ftemplates\u002F\n- ✓ Natural language translation guide: {AIWG_PATH}\u002Fdocs\u002Fsimple-language-translations.md\n\n{if Factory AI detected}\n### Factory AI Integration\n- ✓ Factory AI droids detected in .factory\u002Fdroids\u002F\n- ⚠️  **Action Required**: Run `aiwg-update-agents-md` to update AGENTS.md with project-specific content\n- ℹ️  This ensures both Claude Code (CLAUDE.md) and Factory AI (AGENTS.md) are configured\n\n## Next Steps\n\n1. **Review CLAUDE.md**:\n   - Open `{CLAUDE_MD}` and review the AIWG framework section\n   - Fill in 'Repository Purpose' if not already done\n   - Add any project-specific notes to 'Project-Specific Notes' section\n\n2. **Deploy Agents and Commands** (if not already done):\n   ```bash\n   # Deploy SDLC agents to .claude\u002Fagents\u002F\n   aiwg -deploy-agents --mode sdlc\n\n   # Deploy SDLC commands to .claude\u002Fcommands\u002F\n   aiwg -deploy-commands --mode sdlc\n   ```\n\n   {if Factory AI detected}\n   **Factory AI Users**:\n   ```bash\n   # Update AGENTS.md with project-specific content\n   \u002Faiwg-update-agents-md\n\n   # Or if not yet deployed, deploy Factory droids first\n   aiwg -deploy-agents --provider factory --mode sdlc --deploy-commands --create-agents-md\n   ```\n\n3. **Start Intake** (if new to AIWG):\n   ```bash\n   # Generate intake forms interactively\n   \u002Fintake-wizard \"your project description\" --interactive\n\n   # Or analyze existing codebase\n   \u002Fintake-from-codebase . --interactive\n   ```\n\n4. **Check Project Status**:\n   ```bash\n   # Natural language (preferred)\n   User: \"Where are we?\"\n\n   # Or explicit command\n   \u002Fproject-status\n   ```\n\n5. **Begin SDLC Flow**:\n   ```bash\n   # Natural language (preferred)\n   User: \"Let's transition to Elaboration\"\n\n   # Or explicit command\n   \u002Fflow-inception-to-elaboration\n   ```\n\n## How to Use Natural Language\n\nYou can now use natural language to trigger SDLC workflows. Examples:\n\n**Phase Transitions**:\n- \"Let's transition to Elaboration\"\n- \"Move to Construction\"\n- \"Ready to deploy\"\n\n**Review Cycles**:\n- \"Run security review\"\n- \"Execute test suite\"\n- \"Check compliance\"\n\n**Artifact Generation**:\n- \"Create architecture baseline\"\n- \"Generate SAD\"\n- \"Build test plan\"\n\n**Status Checks**:\n- \"Where are we?\"\n- \"Can we transition?\"\n- \"Check project health\"\n\nSee `{AIWG_PATH}\u002Fdocs\u002Fsimple-language-translations.md` for complete phrase list.\n\n## Resources\n\n- **AIWG Framework Docs**: {AIWG_PATH}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002FREADME.md\n- **Template Library**: {AIWG_PATH}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Ftemplates\u002F\n- **Agent Catalog**: {AIWG_PATH}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fagents\u002F\n- **Flow Commands**: {AIWG_PATH}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fcommands\u002F\n- **Natural Language Guide**: {AIWG_PATH}\u002Fdocs\u002Fsimple-language-translations.md\n- **Orchestrator Docs**: {AIWG_PATH}\u002Fdocs\u002Forchestrator-architecture.md\n- **Multi-Agent Pattern**: {AIWG_PATH}\u002Fdocs\u002Fmulti-agent-documentation-pattern.md\n\n## Need Help?\n\nIf you encounter any issues, use the AIWG knowledge base:\n\n```text\n# Slash command\n\u002Faiwg-kb \"setup issues\"\n\u002Faiwg-kb \"agent not found\"\n\u002Faiwg-kb \"template errors\"\n\n# Or ask naturally\n\"How do I fix my AIWG install?\"\n\"Why aren't my agents working?\"\n\"Help with AIWG templates\"\n```\n\n**Common topics**: setup issues, deployment issues, path issues, platform issues\n\n**Quick reference**: {AIWG_PATH}\u002Fdocs\u002Ftroubleshooting\u002F\n```\n\n## Implementation Notes\n\n**Tools to Use**:\n1. **Bash**: Resolve AIWG path, create directories, run validation\n2. **Read**: Load existing CLAUDE.md, load template\n3. **Grep**: Detect AIWG section presence\n4. **Edit** or **Write**: Update CLAUDE.md based on scenario\n\n**Critical Success Factors**:\n- ✅ Preserve ALL user content (never delete existing notes)\n- ✅ Substitute `{AIWG_ROOT}` with actual resolved path\n- ✅ Include complete AIWG section (orchestration, natural language, commands)\n- ✅ Create .aiwg\u002F directory structure\n- ✅ Validate setup before declaring success\n\n**Error Handling**:\n- If AIWG not found → Fail with install instructions\n- If CLAUDE.md unparseable → Append section with warning\n- If permissions denied → Fail with permission error\n\n## Success Criteria\n\nThis command succeeds when:\n- [ ] AIWG installation path resolved and validated\n- [ ] CLAUDE.md created or updated with complete AIWG section\n- [ ] All existing user content preserved (if existing CLAUDE.md)\n- [ ] `{AIWG_ROOT}` placeholder replaced with actual path\n- [ ] .aiwg\u002F directory structure created with all subdirectories\n- [ ] Validation checks pass\n- [ ] Clear next steps provided to user\n- [ ] Natural language translation guide documented\n\n## Template Sections to Include\n\nWhen merging AIWG section, ensure these are included:\n\n1. ✅ **AIWG Framework Overview** - What AIWG is, installation path\n2. ✅ **Core Platform Orchestrator Role** - How to interpret natural language and orchestrate\n3. ✅ **Natural Language Command Translation** - 70+ phrase mappings\n4. ✅ **Multi-Agent Workflow Pattern** - Primary Author → Reviewers → Synthesizer → Archive\n5. ✅ **Available Commands Reference** - All SDLC commands with descriptions\n6. ✅ **AIWG-Specific Rules** - Artifact location, template usage, parallel execution\n7. ✅ **Reference Documentation** - Links to all AIWG docs (including simple-language-translations.md)\n8. ✅ **Phase Overview** - Inception → Elaboration → Construction → Transition → Production\n9. ✅ **Quick Start Guide** - Step-by-step initialization\n10. ✅ **Common Patterns** - Example workflows (risk, architecture, security, testing)\n11. ✅ **Need Help** - Reference to \u002Faiwg-kb and troubleshooting docs\n\n**Reference**: Template at `{AIWG_ROOT}\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Ftemplates\u002Fproject\u002FCLAUDE.md`\n\n---\n\n**Command Version**: 2.0\n**Category**: SDLC Setup\n**Mode**: Interactive Setup and Configuration\n\n## References\n\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fagent-deployment.md — Rules for working with agent definitions and multi-provider deployment\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fhuman-authorization.md — Seek explicit authorization before modifying existing CLAUDE.md content\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Frules\u002Fresearch-before-decision.md — Detect AIWG installation and project structure before making changes\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fskills\u002Faiwg-update-claude\u002FSKILL.md — Companion skill for updating an already-configured project\n- @$AIWG_ROOT\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsdlc-complete\u002Fskills\u002Faiwg-update-agents-md\u002FSKILL.md — Companion skill invoked when Factory AI is also detected\n",{"name":5,"namespace":49,"platforms":50,"commandHint":52,"description":7},"aiwg",[51],"all",{"model":30,"category":53,"modelRole":40,"modelTier":54,"allowedTools":55,"argumentHint":56},"sdlc-setup","economy","Read, Write, Edit, Glob, Bash",[57],"project-directory --interactive --guidance \"text\"","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Fplugins\u002Fcodex-sdlc\u002Fskills\u002Faiwg-setup-project",36,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg","https:\u002F\u002Faiwg.io","https:\u002F\u002Fgithub.com\u002Fjmagly","https:\u002F\u002Fintegrolabs.io","ml\u002Fai, industrial automation, safety\u002Fsecurity, ssi\r\n\r\nmagly.net\r\nintegrolabs.io\r\naiwg.io\r\nfortemi.com\r\npagenary.com\r\nbytecask.com","2026-11-12 00:33:10",{"source":8,"skillName":5,"commands":69,"prompt":79,"zipAvailable":80},[70,73,76],{"tool":71,"command":72},"npx","npx skills add jmagly\u002Faiwg --skill aiwg-setup-project",{"tool":74,"command":75},"bunx","bunx skills add jmagly\u002Faiwg --skill aiwg-setup-project",{"tool":77,"command":78},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill aiwg-setup-project","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fcodex-sdlc\u002Fskills\u002Faiwg-setup-project\u002FSKILL.md",true,[],[83,109,132,138,145,159],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":90,"publishedAt":44},"01M70QA0BSYJ49EES9V4RE8QH1","host-hardening","Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[89],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[91,92,93,31,94,95,96,97,98,99,28,100,101,102,103,104,105,106,107,108],"host","host hardening","hardening","re","recommendations","remediation","plan","port","verification","access","only","retention","audit","never","firewall","bind","secrets","request",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":119,"publishedAt":44},"01M70PNT2Z4HMZPRBTAF6073NN","exposure-analysis","Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fforensics\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[115,118],{"categoryNo":116,"categoryName":117,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[120,121,122,31,123,98,124,125,28,126,91,127,101,128,129,104,105,130,131,32],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator",{"skillNo":133,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":44},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[136],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[93,91,92,100,31,108,96,95,103,97,98,99,28,107,101,102,94,104,105,106],{"skillNo":139,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":144,"publishedAt":44},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[142,143],{"categoryNo":116,"categoryName":117,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[121,120,104,123,98,124,28,122,91,127,101,128,129,31,105,126,125,130,131,32],{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":152,"publishedAt":44},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[151],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[153,154,155,156,157,158],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":166,"publishedAt":44},"01M6CB4AVK1W76MFMPP0JP32CJ","pi-local","Pi-local duplicate-precedence fixture.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fproviders\u002Fpi\u002Fproject\u002F.pi\u002Fskills\u002Fpi-local\u002FSKILL.md",[165],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[167,168,128,169,154],"pi","pi local","duplicate"]