triz-analysis
Skill15 starsChanged 5 months agoMITView on GitHub
Run a systematic TRIZ contradiction audit against a Rust codebase, architecture, or workflow to identify hidden trade-offs and innovation opportunities. Use when facing design trade-offs, contradictory requirements, or needing to identify innovation opportunities through systematic contradiction analysis. Triggers: 'TRIZ audit', 'contradiction analysis', 'innovation audit', 'trade-off analysis', 'hidden trade-offs'.
In this repository29 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- llms-full.txtllms.txt
- llms.txtllms.txt
- anti-ai-slopSkill
- architecture-diagramSkill
- atomic-commitSkill
- build-rustSkill
- codacySkill
- crates-io-name-checkSkill
- dora-reportSkill
- goap-agentSkill
- harnessSkill
- issue-triageSkill
- lint-rustSkill
- metrics-reporterSkill
- privacy-firstSkill
- release-rustSkill
- reviewing-pull-requestsSkill
- secret-lintSkill
- self-fix-loopSkill
- skill-creatorSkill
- skill-evaluatorSkill
- stacked-prsSkill
- task-decompositionSkill
- test-rustSkill
- tokio-performanceSkill
- triz-solverSkill
- verify-actionsSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 26
All agent-generated analysis must be written to analysis/ using:
- Very specific: line 41
REPORT: Document findings in analysis/.
- Very specific: line 84
When auditing async Rust, do not treat spawn_blocking as a universal optimization.
- Distinctive: line 120
task-decomposition: Use to break a large workspace audit into smaller scoped TRIZ analyses.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
TRIZ Analysis — Rust Edition
Systematic innovation audit for Rust codebases, workspace architectures, and CI/CD pipelines.
Input Requirements
- Target Scope: The specific directory, pipeline, or framework to analyze
(e.g.,
crates/,scripts/,.github/workflows/,agent-coordination). - Language Focus: Rust-specific patterns (ownership, async, traits, lifetimes).
Output Convention
All agent-generated analysis must be written to analysis/ using:
analysis/triz-<scope>-YYYY-MM-DD.mdExample: analysis/triz-scripts-2026-06-18.md
Audit Process
- SCOPE SCAN: Examine the target scope for existing pain points or trade-offs.
- CONTRADICTION DISCOVERY: Identify technical contradictions: "Improving [X] in this scope causes [Y] to worsen."
- PRINCIPLE MAPPING: Map discovered contradictions to TRIZ inventive principles.
- INNOVATION ROADMAP: Propose specific Rust-idiomatic changes based on TRIZ resolutions.
- REPORT: Document findings in
analysis/.
Core Protocol
Contradiction-First Approach
1. SCAN the scope
2. IDENTIFY contradiction: "Improving [X] causes [Y] to worsen"
3. CHECK if contradiction is real or apparent
4. RESOLVE using separation principles
5. DOCUMENT findings in analysis/Ideal Final Result (IFR) for Rust Audits
"The ideal Rust system performs its function with minimal unsafe code, unnecessary cloning, and contention"
1. What is the ideal outcome for this scope?
2. What prevents reaching it? (current type/ownership/CI constraints)
3. Which constraints are real vs assumed?
4. Could the borrow checker enforce correctness instead of runtime checks?Contradiction Matrix (Rust-Specific)
| Improving | vs Worsening | → Principle | Rust Pattern |
| Throughput | vs Latency | #7, #13, #17 | Batching, bounded queues, workload-aware scheduling |
| API ergonomics | vs Binary size | #1, #15 | Feature flags, #[cfg], trait-based DI |
| Compile time | vs Runtime perf | #13, #35 | LTO off, cargo-bloat profile tuning |
| Safety | vs Performance | #12, #4 | unsafe minimization, scoped SIMD |
| Genericity | vs Compile time | #2, #6 | Carefully scoped generics, sealed traits |
| Async surface | vs Blocking cost | #1, #15 | Workload-aware direct execution, spawn_blocking, bounded workers |
| Throughput | vs Fairness | #13, #15 | Batching, bounded poll work, deliberate yield_now |
| Concurrency | vs Resource usage | #1, #35 | Semaphore, bounded mpsc, worker pools |
| Shared state | vs Contention | #1, #2 | Ownership/message passing, short lock scope |
| Build matrix | vs CI minutes | #1, #9 | cargo-hack, workspace inheritance |
| Test coverage | vs Test runtime | #13, #35 | cargo-nextest sharding, proptest shrinking |
Tokio-Specific Audit Rules
When auditing async Rust, do not treat spawn_blocking as a universal optimization. Determine whether work is blocking, short bounded CPU work, sustained CPU work, or latency-sensitive. Consider scheduler fairness, coordination overhead, blocking-pool pressure, batching, and isolation.
Check for:
- unbounded
tokio::spawnfan-out - queues without deliberate backpressure
- locks held across
.await - expensive work while holding a lock
- repeatedly-ready loops that monopolize workers
- fragmented small I/O operations
- claims of performance without representative benchmarks
For detailed Tokio performance guidance, invoke the tokio-performance skill.
Software Contradiction Matrix (General)
| Improving | vs Worsening | → Principle |
| Functionality | vs Complexity | #1, #9, #15 |
| Performance | vs Maintainability | #7, #13, #17 |
| Flexibility | vs Simplicity | #6, #2, #3 |
| Security | vs Usability | #12, #4, #17 |
| Scalability | vs Resource Cost | #1, #13, #35 |
Separation Principles (Rust Mapping)
| Strategy | When | Rust Pattern |
| Time | Different behavior at stages | Lifecycle generics, OnceCell, phased init |
| Space | Different behavior in context | Crate features, cfg flags, target_arch |
| Condition | Different by input | Trait objects, sealed traits, match |
| System-level | New component resolves | Newtype wrapper, sidecar crate, separate binary |
Integration with Other Skills
- tokio-performance: Apply for Tokio scheduling, fairness, contention, blocking, and bounded-concurrency analysis.
- agent-coordination: Orchestrate as a swarm sub-task where multiple agents analyze different crates or pipelines in parallel.
- task-decomposition: Use to break a large workspace audit into smaller scoped TRIZ analyses.
- anti-ai-slop: Apply after TRIZ resolutions to keep the rewrite idiomatic and not boilerplate-heavy.
Quality Checklist
- Target scope clearly defined
- Discovered contradictions explicitly stated
- Recommendations mapped to TRIZ inventive principles
- Rust-idiomatic pattern suggested (not just generic advice)
- Findings saved to
analysis/triz-<scope>-YYYY-MM-DD.md - Async recommendations are workload-aware rather than cargo-cult patterns
Rationalizations
| Rationalization | Reality |
| "This Rust code compiles, no contradictions exist" | Compilation proves type safety, not design trade-offs. Many crates have hidden coupling or runtime bottlenecks. |
| "TRIZ is too theoretical for Rust" | TRIZ principles map directly to Rust patterns: segmentation = crate split, taking out = extract trait, separation = workload-specific execution. |
| "Just run clippy, that catches everything" | Clippy catches idiomatic violations; TRIZ catches architectural contradictions clippy cannot see. |
| "spawn_blocking is always faster" | It adds coordination and uses a shared blocking pool; workload characteristics determine the appropriate execution model. |
Red Flags
- Skipping the contradiction statement and jumping straight to solutions
- Defining contradictions too vaguely to map to specific principles
- Not saving findings to
analysis/as specified - Proposing non-idiomatic Rust or speculative optimization without measurement
- Treating
spawn_blocking,yield_now, locks, or extra runtimes as universal performance fixes
Reference Files
Related Skills
tokio-performance- Tokio scheduling, fairness, contention, blocking, I/O, and concurrency auditstriz-solver- Apply TRIZ principles to solve specific problemstask-decomposition- Break audits into scoped sub-tasksgoap-agent- Use TRIZ in Phase 1 (Analyze) of GOAPanti-ai-slop- Audit rewritten code for boilerplate and over-abstraction
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

