Implement programmer agent system and consolidate agent infrastructure

Programmer Agent System:
- Add programmer-orchestrator (Opus) for workflow coordination
- Add code-planner (Sonnet) for design and planning
- Add code-implementer (Sonnet) for writing code
- Add code-reviewer (Sonnet) for quality review
- Add /programmer command and project registration skill
- Add state files for preferences and project context

Agent Infrastructure:
- Add master-orchestrator and linux-sysadmin agents
- Restructure skills to use SKILL.md subdirectory format
- Convert workflows from markdown to YAML format
- Add commands for k8s and sysadmin domains
- Add shared state files (model-policy, autonomy-levels, system-instructions)
- Add PA memory system (decisions, preferences, projects, facts)

Cleanup:
- Remove deprecated markdown skills and workflows
- Remove crontab example (moved to workflows)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
OpenCode Test
2025-12-29 13:23:42 -08:00
parent 119d2a464e
commit 431e10b449
62 changed files with 3572 additions and 539 deletions

View File

@@ -0,0 +1 @@
{"version":"1.0.0","description":"Shared autonomy level definitions for all agents","levels":{"conservative":{"description":"Confirm all write operations","behavior":{"read_operations":"auto-execute","write_operations":"require confirmation","destructive_operations":"require confirmation"},"suitable_for":["initial setup","unfamiliar systems","production environments"]},"moderate":{"description":"Auto-execute routine maintenance, confirm installs/removals","behavior":{"read_operations":"auto-execute","routine_maintenance":"auto-execute","package_changes":"require confirmation","destructive_operations":"require confirmation"},"suitable_for":["trusted development environments","routine maintenance"]},"trusted":{"description":"Auto-execute most operations, confirm only destructive","behavior":{"read_operations":"auto-execute","write_operations":"auto-execute","package_changes":"auto-execute","destructive_operations":"require confirmation"},"suitable_for":["well-known environments","time-sensitive operations"]}},"agent_defaults":{"linux-sysadmin":"conservative","k8s-orchestrator":"conservative","k8s-diagnostician":"conservative","argocd-operator":"conservative","prometheus-analyst":"conservative","git-operator":"conservative"},"session_override":{"file":"~/.claude/state/sysadmin/session-autonomy.json","applies_to":"current session only","reset_on":"session end"}}

File diff suppressed because one or more lines are too long

1
state/kb.json Normal file
View File

@@ -0,0 +1 @@
{"infra":{"cluster":"k0s","nodes":3,"arch":"arm64"},"svc":{"gitops":"argocd","mon":"prometheus","alerts":"alertmanager"},"net":{},"hw":{"pi5_8gb":2,"pi3_1gb":1}}

68
state/model-policy.json Normal file
View File

@@ -0,0 +1,68 @@
{
"version": "1.0.0",
"description": "Cost-efficient model selection policy",
"models": {
"opus": {
"use_cases": [
"Complex reasoning and analysis",
"Cross-agent coordination",
"Policy enforcement and validation",
"Architectural decisions",
"Ambiguous or nuanced tasks"
],
"agents": [
"personal-assistant",
"master-orchestrator",
"k8s-orchestrator",
"programmer-orchestrator"
]
},
"sonnet": {
"use_cases": [
"Standard operations",
"Well-defined tasks",
"Routine automation",
"Code generation and modification",
"Troubleshooting with clear symptoms"
],
"agents": [
"linux-sysadmin",
"k8s-diagnostician",
"argocd-operator",
"prometheus-analyst",
"git-operator",
"code-planner",
"code-implementer",
"code-reviewer"
]
},
"haiku": {
"use_cases": [
"Simple queries",
"Status checks",
"Log parsing",
"Data extraction",
"Formatting and summarization"
],
"agents": [],
"delegation_note": "Any agent can delegate simple subtasks to Haiku for cost efficiency"
}
},
"escalation_rules": [
{
"from": "haiku",
"to": "sonnet",
"triggers": ["task_too_complex", "context_insufficient", "reasoning_required"]
},
{
"from": "sonnet",
"to": "opus",
"triggers": ["cross_agent_coordination", "policy_decision", "complex_analysis"]
}
],
"cost_optimization": {
"default_start": "lowest_capable",
"log_usage": true,
"review_frequency": "weekly"
}
}

View File

@@ -1,7 +1 @@
{
"version": "1.0",
"description": "Persistent PA configuration",
"context_gathering": {
"default_level": "moderate"
}
}
{"version":"1.0","description":"Persistent PA configuration","context_gathering":{"default_level":"moderate"}}

View File

@@ -1,5 +1,12 @@
{
"version": "1.0",
"description": "User instructions optimized for agent consumption",
"items": []
"items": [
{
"id": "a1b2c3d4-5678-90ab-cdef-111111111111",
"instruction": "Delegate technical tasks to specialized agents. Use skills and slash commands for quick technical checks.",
"status": "active",
"added": "2025-01-21"
}
]
}

View File

@@ -0,0 +1,131 @@
{
"version": "1.0",
"sessions": [
{
"id": "2025-12-29_10-36-32",
"started": "2025-12-29T10:36:32-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_10-38-46",
"started": "2025-12-29T10:38:46-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_10-59-33",
"started": "2025-12-29T10:59:33-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-10-38",
"started": "2025-12-29T11:10:38-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-20-09",
"started": "2025-12-29T11:20:09-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-20-12",
"started": "2025-12-29T11:20:12-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-20-17",
"started": "2025-12-29T11:20:17-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-20-25",
"started": "2025-12-29T11:20:25-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-20-49",
"started": "2025-12-29T11:20:49-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-25-40",
"started": "2025-12-29T11:25:40-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-25-44",
"started": "2025-12-29T11:25:44-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-26-31",
"started": "2025-12-29T11:26:31-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-26-33",
"started": "2025-12-29T11:26:33-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-28-05",
"started": "2025-12-29T11:28:05-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-28-06",
"started": "2025-12-29T11:28:06-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_11-47-07",
"started": "2025-12-29T11:47:07-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_12-31-06",
"started": "2025-12-29T12:31:06-08:00",
"ended": null,
"summarized": false,
"topics": []
},
{
"id": "2025-12-29_12-31-10",
"started": "2025-12-29T12:31:10-08:00",
"ended": null,
"summarized": false,
"topics": []
}
]
}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1,5 @@
{
"version": "1.0",
"description": "Decisions made with rationale",
"items": []
}

View File

@@ -0,0 +1,5 @@
{
"version": "1.0",
"description": "Factual knowledge about the environment",
"items": []
}

View File

@@ -0,0 +1,11 @@
{
"version": "1.0",
"last_summarized": null,
"total_sessions": 0,
"total_items": {
"decisions": 0,
"preferences": 0,
"projects": 0,
"facts": 0
}
}

View File

@@ -0,0 +1,5 @@
{
"version": "1.0",
"description": "User preferences learned over time",
"items": []
}

View File

@@ -0,0 +1,5 @@
{
"version": "1.0",
"description": "Active and recent project context",
"items": []
}

View File

@@ -1,6 +1 @@
{
"version": "1.0",
"current_context_level": null,
"set_at": null,
"set_by": null
}
{"version":"1.0","current_context_level":null,"set_at":null,"set_by":null}

View File

@@ -0,0 +1,5 @@
{
"style": {},
"patterns": {},
"languages": {}
}

View File

@@ -0,0 +1,4 @@
{
"level": "conservative",
"overrides": {}
}

View File

@@ -0,0 +1 @@
{"version":"1.0.0","description":"Per-session autonomy overrides for linux-sysadmin agent","current_level":"conservative","session_start":null,"overrides":{},"notes":"This file is modified by user/CLI to adjust autonomy during a session"}

View File

@@ -0,0 +1 @@
{"version":"1.0.0","description":"Central process definitions for all agents","processes":{"model-selection":{"description":"Cost-efficient model selection","rules":["Start with lowest capable model","Escalate only when task complexity requires","Agents may request model upgrade from orchestrator","Log model usage for cost analysis"]},"cross-agent-communication":{"description":"How agents interact","flow":"Agent A → Master Orchestrator → Personal Assistant (if escalation needed)","hierarchy":"Personal Assistant → Master Orchestrator → Domain Agents","requirements":["All cross-agent requests routed through master orchestrator","Master validates, routes, and logs all requests","Personal assistant has ultimate escalation authority","No direct agent-to-agent communication"]},"autonomy-enforcement":{"description":"How autonomy levels are applied","default":"conservative","session_override_file":"~/.claude/state/sysadmin/session-autonomy.json","rules":["Master orchestrator enforces autonomy levels","Session overrides apply only for current session","Forbidden actions always blocked regardless of autonomy level"]},"file-management":{"description":"File and directory ownership","state-files":{"system-instructions.json":"master-orchestrator","future-considerations.json":"master-orchestrator","model-policy.json":"master-orchestrator","autonomy-levels.json":"master-orchestrator","session-autonomy.json":"user/CLI"},"directories":{"master-orchestrator":["agents/","state/","skills/","commands/","workflows/"],"linux-sysadmin":["state/sysadmin/","automation/"]},"override_authority":"personal-assistant"},"agent-lifecycle":{"add":["Create agents/<name>.md","Update supervisor hierarchy","Update CLAUDE.md diagram","Update model-policy.json"],"remove":["Remove agents/<name>.md","Update supervisor hierarchy","Update CLAUDE.md diagram","Update model-policy.json","Clean up state"]},"content-principles":{"no-redundancy":"Information lives in one authoritative location","lean-files":"Keep files concise - no verbose examples or unnecessary prose"},"deferral-capture":{"description":"Capture deferrals to future-considerations.json","trigger":"User says 'revisit later' or similar","behavior":"Watch user messages for items worth adding to future-considerations.json - both explicit deferrals and implicit mentions of future work"}}}